package com.heu.blood.recycle.entity;

import com.baomidou.mybatisplus.annotation.*;
import java.util.Date;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 
 * </p>
 *
 * @author ysl
 * @since 2023-07-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("blood_track")
public class BloodTrackEntity implements Serializable {

    private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @TableField(value = "gmt_create", fill = FieldFill.INSERT) // 创建注解
    private Date gmtCreate;

    /**
     * 修改时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @TableField(value = "gmt_modified", fill = FieldFill.INSERT_UPDATE) // 更新注解
    private Date gmtModified;

    /**
     * 血液追踪ID
     */
    private String trackId;

    /**
     * 输血申请单单号
     */
    private String transfusionId;

    /**
     * 病案号
     */
    private String medicalRecordNumber;

    /**
     * 血液id
     */
    private String bloodId;

    /**
     * 病人id
     */
    private String patientId;

    /**
     * 发血用途
     */
    private String dispatchPurpose;

    /**
     * 发血人工号
     */
    private String dispatcherId;

    /**
     * 发血人姓名
     */
    private String dispatcherName;

    /**
     * 发血时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date dispatchTime;

    /**
     * 取血人工号
     */
    private String recipientId;

    /**
     * 取血人姓名
     */
    private String recipientName;

    /**
     * 取血时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date receiveTime;

    /**
     * 1代表展示，0代表不展示
     */
    @TableField(value = "if_show", fill = FieldFill.INSERT) // 创建注解
    private Integer ifShow;

    /**
     * 是否特殊发血（1代表特殊发血，0代表普通发血）
     */
    private String isSpecialSend;

    /**
     * 特殊发血审核人
     */
    private String specialSendReviewer;

    /**
     *  1代表已删除，0代表未删除
     */
    @TableLogic(value = "0", delval = "1")
    @TableField(value = "is_deleted", fill = FieldFill.INSERT) // 创建注解
    private Integer isDeleted;


}
